//
//  TableUIViewGroupController.swift
//  DemoUI
//
//  Created by 白瑾浩 on 2022/1/9.
//

import UIKit

class TableUIViewGroupController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    var dataArray:[String]?
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = .white
        dataArray = ["第一行","第二行","第三行","第四行","第五行","第六行"]
        let tableView = UITableView(frame: self.view.frame,style: .grouped)
        //.plain 扁平化风格  .grouped 分组的风格
        //注册cell
        tableView.register(NSClassFromString("UITableViewCell"), forCellReuseIdentifier: "TableViewCellId")
        self.view.addSubview(  tableView )
        
        //设置数据源与代理
        tableView.delegate = self
        tableView.dataSource = self
        
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataArray?.count ?? 0
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        //根据注册的的Cell类Id值获取载体Cell
        let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCellId", for: indexPath )
        //进行标题的设置
        cell.textLabel?.text = dataArray?[indexPath.row]
        return cell
    }
    //分区数
    func numberOfSections(in tableView: UITableView) -> Int {
        return 2
    }
    //设置分区头部标题
    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return "我是分区头部"
    }
    //设置分区尾部标题
    func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? {
        return "我是分区尾部"
    }
    //设置分区头部自定义视图
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let view = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 120))
        view.backgroundColor = UIColor.red
        return view
    }
    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        let view = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 120))
        view.backgroundColor = UIColor.green
        return view
    }
    //设置分区头部视图高度
    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
        return 50
    }
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 120
    }
    
    
    
}
